package com.welike.shibo.mapper;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.welike.shibo.eneity.SysUser;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * Created by fangyu on 2019/11/21.
 */
public interface SysUserMapper extends BaseMapper<SysUser> {

    /**
     * 登录验证
     * @param username
     * @param password
     * @return
     */
    SysUser login(@Param("username")String username, @Param("password")String password);

    /**
     * 根据用户名和密码查询对应的用户
     */
    JSONObject getUser(@Param("username") String username, @Param("password") String password);

    /**
     * 查询表总条数
     * @return
     */
    int countSysUser();

    /**
     * 分页查询
     * @param limit
     * @param offset
     * @return
     */
    List<JSONObject> listUser(@Param("limit") Integer limit, @Param("offset") Integer offset);

    /**
     * 校验用户名是否已存在
     * @param requestJson 请求json
     * @return int
     */
    int queryExistUsername(JSONObject requestJson);

    /**
     * 新增用户
     * @param requestJson 请求json
     * @return int
     */
    int addUser(JSONObject requestJson);

    /**
     * 修改用户信息
     * @param requestJson 请求json
     * @return int
     */
    int updateUser(JSONObject requestJson);

    /**
     * 通过用户名查询用户的uid
     * @param requestJson 请求json
     * @return Integer
     */
    Integer queryUidByUsername(JSONObject requestJson);

    /**
     * 删除用户
     * @param requestJson 请求json
     * @return int
     */
    int deleteById(JSONObject requestJson);

}